package cn.iocoder.yudao.module.bk.dal.dataobject.lwbookinapply;

import cn.iocoder.yudao.module.bk.dal.dataobject.lwbook.LwBookDO;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;

import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;

/**
 * 书籍飘入 DO
 *
 * @author qy
 */
@TableName("bk_lw_book_in_apply")
@KeySequence("bk_lw_book_in_apply_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class LwBookInApplyDO extends BaseDO {

    /**
     * 编号
     */
    @TableId
    private Long id;
    /**
     * 书籍id集合
     */
    private String lwBookIds;
    /**
     * 申请人id
     */
    private Long applyUid;
    /**
     * 流程状态
     * <p>
     * 枚举 {@link TODO bk_book_apply_status 对应的类}
     */
    private String processStatus;
    /**
     * 初审人
     */
    private Long initialReviewUid;
    /**
     * 初审说明
     */
    private String initialReviewDes;
    /**
     * 终审人
     */
    private Long finalReviewUid;
    /**
     * 终审说明
     */
    private String finalReviewDes;
    /**
     * 备注
     */
    private String remark;
    /**
     * 申请人名称
     */
    @TableField(exist = false)
    private String applyName;
    /**
     * 初审人
     */
    @TableField(exist = false)
    private String initialReviewName;
    /**
     * 终审人
     */
    @TableField(exist = false)
    private String finalReviewName;
    /**
     * 书籍Id集合
     */
    @TableField(exist = false)
    private List<String> lwBookIdList;
    /**
     * 书籍集合
     */
    @TableField(exist = false)
    private List<LwBookDO> books;

}
